home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 287_01 / graderr.c < prev    next >
Text File  |  1989-05-23  |  2KB  |  75 lines

  1. #include <stdio.h>
  2. #include <gds.h>
  3. #include <stdarg.h>
  4.  
  5. char *GRADERRMSG[] = {
  6.         "Undefined Error Number : %d",
  7.         "invalid environment slot number in EnvSave - %d",
  8.         "invalid environment slot number in EnvRsto - %d",
  9.         "environment slot not used - %d",
  10.         "disk access error in BlockSave",
  11.         "bad block file",
  12.         "file not found - %s",
  13.         "too many frame opened",
  14.         "not sufficient memory to create new frame - %d*%d",
  15.         "insufficient stack size for Fill",
  16.         "PROGRAM ERROR IN %s LINE %d",
  17.         "%s",
  18.         "bad font type - %d",
  19.         "too many font files loaded",
  20.         "bad font file",
  21.         "not sufficient memory to load new font",
  22.         "no more environment slot for Draw",
  23.         "invalid command in Draw - %c%c",
  24.         "wrong number of parameter given to %c%c in Draw",
  25.         "a digit expected after '%' or '&' in Draw",
  26.         "invalid marker number - %d",
  27.         "disk error in reading font file"
  28. };
  29.  
  30. graderror(err_level, err_nu)
  31. int err_level, err_nu;
  32. {
  33.     va_list arg_ptr;
  34.  
  35.     va_start(arg_ptr, err_nu);
  36.     if ((err_level >= PRE_ERROR_LEVEL) && (err_level != 10)) {
  37.         (*PRE_ERROR_FUNC)(err_level, err_nu, arg_ptr);
  38.     } else {
  39.         switch(err_level) {
  40.         case 2:
  41.             printf("GRAD warning : ");
  42.             break;
  43.         case 4:
  44.             printf("GRAD error : ");
  45.             break;
  46.         case 6:
  47.             printf("GRAD non-recoverable error : ");
  48.             break;
  49.         case 10:
  50.             printf("GRAD fatal error : ");
  51.             break;
  52.         default:
  53.             printf("Undefine error level %d : ",err_level);
  54.             break;
  55.         }
  56. /*
  57.         printf("error number %d\n",err_nu);
  58. */
  59.         vprintf(GRADERRMSG[err_nu], arg_ptr);
  60.         printf("\n");
  61.     }
  62.     if ((err_level >= POST_ERROR_LEVEL) && (err_level != 10)) {
  63.         (*POST_ERROR_FUNC)(err_level, err_nu, arg_ptr);
  64.     }
  65.     va_end(arg_ptr);
  66.     switch (err_level) {
  67.     case 2:
  68.         return;
  69.     default:
  70.         settext();
  71.         cleanup(1);
  72.     }
  73. }
  74.  
  75.